<template>
  <div class="add-node-btn-box">
    <div class="add-node-btn">
      <el-popover placement="right-start" :width="270" trigger="click" :hide-after="0" :show-after="0">
        <template #reference>
          <el-button type="primary" icon="Plus" circle></el-button>
        </template>
        <div class="add-node-popover-body">
          <ul style="cursor: pointer;">
            <li @click="addType(1)">
              <svg-icon icon-class="seal" style="color: #ff943e; width: 30px; height: 30px;" />
              <p>审批节点</p>
            </li>
            <li @click="addType(2)">
              <svg-icon icon-class="send" style="color: #3296fa; width: 30px; height: 30px;" />
              <p>抄送节点</p>
            </li>
            <li @click="addType(4)">
              <svg-icon style="color: #15BC83; width: 30px; height: 30px;" icon-class="branchOne" />
              <p>条件分支</p>
            </li>
          </ul>
        </div>
      </el-popover>
    </div>
  </div>
</template>

<script setup name="AddNode">

// 定义事件
const emit = defineEmits(['update:modelValue'])

// 接收参数
const props = defineProps({
  modelValue: {
    type: Object, default: () => {
    }
  }
})

const addType = (type) => {
  let node = {}
  if (type === 1) {
    node = {
      nodeName: "审核人",
      type: 1,			//节点类型
      setType: 1,			//审核人类型
      nodeUserList: [],	//审核人成员
      nodeRoleList: [],	//审核角色
      examineLevel: 1,	//指定主管层级
      directorLevel: 1,	//自定义连续主管审批层级
      selectMode: 1,		//发起人自选类型
      termAuto: false,	//审批期限超时自动审批
      term: 0,			//审批期限
      termMode: 1,		//审批期限超时后执行类型
      examineMode: 1,		//多人审批时审批方式
      directorMode: 0,	//连续主管审批方式
      childNode: props.modelValue
    }
  } else if (type === 2) {
    node = {
      nodeName: "抄送人",
      type: 2,
      userSelectFlag: true,
      nodeUserList: [],
      childNode: props.modelValue
    }

  } else if (type === 4) {
    node = {
      nodeName: "条件路由",
      type: 4,
      conditionNodes: [
        {
          nodeName: "条件1",
          type: 3,
          priorityLevel: 1,
          conditionMode: 1,
          conditionList: []
        },
        {
          nodeName: "条件2",
          type: 3,
          priorityLevel: 2,
          conditionMode: 1,
          conditionList: []
        }
      ],
      childNode: props.modelValue
    }

  }
  emit("update:modelValue", node)
}
</script>

<style>
</style>
